1. Technical Field
The present invention relates to the technical field of the graphic rendering and, particularly, to the 3D (three-dimensional) rendering. More particularly, the present invention can be applied to the sort-middle technique.
2. Description of the Related Art
Computer graphics is the technique of generating pictures with a computer. Generation of pictures, or images, is commonly called rendering. Generally, in three-dimensional (3D) computer graphics, geometry that represents surfaces (or volumes) of objects in a scene is translated into pixels and then displayed on a display device.
In computer graphics the each object to be rendered is composed of a number of primitives. A primitive is a simple geometric entity such as, e.g., a point, a line, a triangle, a square, a polygon or high-order surface.
A summary of the prior art rendering process can be found in: “Fundamentals of Three-dimensional Computer Graphics”, by Watt, Chapter 5: The Rendering Process, pages 97 to 113, published by Addison-Wesley Publishing Company, Reading, Mass., 1989, reprinted 1991, ISBN 0-201-15442-0 or in: “Real Time Rendering”, by T. Moller, E. Haines, Chapter 2: The Graphics Rendering Pipeline, pages 7 to 23, published by A K Peters, 1999, ISBN 1-56881-101-2.
Two main rendering techniques are known: the traditional technique (also called “immediate mode rendering”) and the sort-middle technique (also called tile-based rendering).
Document EP 1496704 describes a traditional graphic pipeline comprising an application/scene stage, a geometry stage, a triangle set up stage and a rasterizing stage. The geometry stage can perform transformations and other operations such as “lighting” and “back-face culling”. In a traditional pipeline the primitives are processed in the submission order.
In accordance with the sort-middle approach a scene is decomposed into tiles which are rendered one by one. This allows the color components and z values of one tile to be stored in small, on-chip buffers, so that only the pixels visible in the final scene need to be stored in the external frame buffer. The frame buffer is a device provided with a corresponding memory which drives the display and includes color values for every pixel to be displayed on the screen.
The sort-middle rendering has been discussed by S. Molnar et al. in “A Sorting Classification of Parallel Rendering”, IEEE Computer Graphics July/August 1994, Vol. 14, No. 4), pp. 23-32 and by H. Fuchs et al. in “Pixel-Planes 5: A Heterogeneous Multiprocessor Graphic System Using Processor—Enhanced Memories”, Computer Graphics July 1989, Vol. 23, No 3.